package com.gnerv.battle.boot.module.base.repository.mapper;

import com.gnerv.battle.boot.module.base.model.dto.OrgDTO;
import com.gnerv.battle.boot.module.base.model.dto.OrgTreeDTO;
import com.gnerv.battle.boot.module.base.model.entity.Org;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author Gnerv LiGen
 */
@Mapper
public interface OrgMapper {

    int insert(@Param(value = "org") Org org);

    int deleteByUkId(@Param(value = "ukId") String ukId);

    int updateByUkId(@Param(value = "org") Org org);

    OrgDTO selectByUkId(@Param(value = "ukId") String ukId);

    List<OrgDTO> listByName(@Param(value = "name") String name);

    List<OrgDTO> listByParentUkId(@Param(value = "parentUkId") String parentUkId);

    List<OrgTreeDTO> listTreeByParentUkId(@Param(value = "parentUkId") String parentUkId);

    OrgDTO selectByAccountUkId(@Param(value = "accountUkId") String accountUkId);

    String selectUkIdByAccountUkId(@Param(value = "accountUkId") String accountUkId);
}




